package org.lecric.wind44.client.service;

import org.lecric.wind44.client.model.Spot;
import org.lecric.wind44.client.model.SpotInformation;
import org.lecric.wind44.client.model.Spots;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>SpotService</code>.
 */
public interface SpotServiceAsync {

	public void getSpots(AsyncCallback<Spots> callback);

	public void add(Spot spot, AsyncCallback<Spot> callback);
	
	public void delete(Spot spot, AsyncCallback<Void> callback);

	public void changeProperties(Spot spot, AsyncCallback<Void> callback);

	public void add(Spot spot, SpotInformation spotInfo, AsyncCallback<SpotInformation> callback);
	
	public void delete(SpotInformation spotInfo, AsyncCallback<Void> callback);
	
	public void changeProperties(SpotInformation spotInfo, AsyncCallback<Void> callback);
	
	public void initDB(AsyncCallback<Void> callback);
}
